Disparity is defined as the difference between the number of binary digits at each code state. Zero disparity coding, i.e., the generation of an equal number of binary digits at each code state, biases the center-line of the bit stream midway between code states. This biasing of the center-line minimizes errors in code state detection due to center-line drift. Such coding also guarantees bit transitions for the extraction of timing information from the digital bit stream. In wire systems having complementary binary codes, e.g., .+-.1, zero disparity coding can be used to assure the absence of signal energy at dc. This absence of a dc component permits the transmission of dc power along with the digital signal on a common wire path. The advantages of zero disparity coding also apply to radio systems. In phase-modulated radio systems, for example, zero disparity coding allows the use of a lower-powered carrier signal.
Prior art techniques for zero disparity coding have centered around the conversion of a binary code into a ternary one. For example, in U.S. Pat. No. 2,996,578 issued Aug. 15, 1961, to F. T. Andrews, Jr., each binary "1" is transmitted as a pulse opposite in polarity to the preceding "1" pulse. A variation of this technique, disclosed in U.S. Pat. No. 3,149,323 to M. R. Aaron et al, issued Sept. 15, 1964, inverts the polarity of alternate groups of n consecutive "1" pulses, where n is an integer greater than one.
More recent techniques for zero disparity coding have relied on either a direct look-up in a code translation table, or execution of a conversion algorithm. The use of a code translation table requires an extremely large memory to handle blocks having more than a few tens of binary digits. The disclosed conversion algorithms, on the other hand, involve considerable computation and are, therefore, not easily implementable. See, for example an article entitled, "Two-Level Block Encoding for Digital Transmission", IEEE Trans. Comm., COM-21, December, 1973, pages 1438-1441. Accordingly, an easily implementable zero disparity encoding technique capable of handling large size blocks of binary digits is desirable.